home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / macros / plain / contrib / wochtag.tex < prev    next >
Encoding:
Text File  |  1994-04-19  |  1.9 KB  |  55 lines

  1. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  2. %    Wochentag zu einem Datum ermitteln %
  3. %    von Andreas Schrell                %
  4. %        Windhoevel 2                   %
  5. %        5600 Wuppertal 2               %
  6. %        Tel. 0202/666889               %
  7. %    E-Mail: ma107 at dhafeu11.bitnet   %
  8. %    Version 1.0 vom 9.10.1991          %
  9. %                                       %
  10. % Aufruf:                               %
  11. % \Wochentag dd.mm.jjjj.                %
  12. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  13.  
  14. {\catcode`\@=11
  15. \newcount\@tag
  16. \newcount\@monat
  17. \newcount\@jahr
  18. \newcount\@ja
  19. \newcount\@jb
  20. \newcount\@ha
  21. \newcount\@hb
  22. \newcount\@hc
  23. \newcount\@b
  24. \newcount\@f
  25. \gdef\Wochentag #1.#2.#3.{\@tag=#1\@monat=#2\@jahr=#3
  26. \ifnum\@jahr<100\advance\@jahr by 1900\else\fi
  27. \ifnum\@monat<3                         % if monat<3
  28.  \advance\@monat by 10                  %   monat:=monat+10
  29.  \advance\@jahr by -1                   %   jahr:=jahr-1
  30. \else                                   % else
  31.  \advance\@monat by -2                  %   monat:=monat-2
  32. \fi                                     % fi
  33. \@ja=\@jahr\divide\@ja by 100           % ja:=jahr/100
  34. \@jb=-\@ja\multiply\@jb by 100
  35. \advance \@jb by \@jahr                 % jb:=jahr-ja*100
  36. \@ha=\@monat\multiply\@ha by 13         
  37. \advance\@ha by -1                      % ha:=13*monat-1
  38. \divide\@ha by 5                        % ha:=ha/5
  39. \@hb=\@jb\divide\@hb by 4               % hb:=jb/4
  40. \@hc=\@ja\divide\@hc by 4               % hc:=ja/4
  41. \@b=\@ha\advance\@b by \@hb
  42. \advance\@b by \@hc                     % b:=ha+hb+hc
  43. \@f=\@b\advance\@f by \@jb
  44. \advance\@f by \@tag                    % f:=b+jb+tag
  45. \multiply \@ja by 2
  46. \advance\@f by -\@ja                    % f:=f-2*ja
  47. \@ha=\@f
  48. \divide\@ha by 7
  49. \multiply\@ha by 7
  50. \advance\@f by -\@ha                    % f:= f mod 7
  51. \ifcase\@f Sonntag\or Montag\or Dienstag\or Mittwoch\or Donnerstag\or
  52.            Freitag\or Samstag\else ????????\fi}
  53. }
  54.  
  55.